iT邦幫忙

jetpack compose相關文章
共有 108 則文章
鐵人賽 Mobile Development DAY 27

技術 Day 27:為應用添加測試

上一篇講了測試怎麼做,這一篇來寫測試因為本篇內容都需要context所以都是使用instrumented test 測試ViewModel 因為這個應用的Vie...

鐵人賽 Mobile Development DAY 26

技術 Day 26:使用Test確認程式的邏輯

到目前幾乎所有的功能都做好了,但是我想要說說一個比較重要的功能:Test 為什麼要寫Test 或許現在專案比較小還感受不出來,但是對於大的項目來說,合理的分工是...

鐵人賽 Mobile Development DAY 25

技術 Day 25:將DataStore套用在應用上

上一篇講了如何宣告與如何高效管理與使用,這一篇要把他套用在setting上 開始 先將舊有的SettingPage更換一下,讓他依照List來顯示 data c...

鐵人賽 Mobile Development DAY 24

技術 Day 24:紀錄零碎信息,使用DataStore

上一章節介紹了怎麼長久的保留規整資料,但是我們除了這些todo之外,還要記錄使用者的習慣或設定等訊息,這時候就需要DataStore了 介紹DataStore...

鐵人賽 Mobile Development DAY 23

技術 Day 23:替換ViewModel的資料邏輯

上一篇講了如何建立一個Room database這一篇要將原本的資料變成SQL的資料流,並替換部分邏輯 在ViewModel中使用 先把原本viewmodel中...

鐵人賽 Mobile Development DAY 22

技術 Day 22:開始用Room建立表

前面一篇已經介紹了Android的SQL使用方式,且配置好了dependency,希望明確的步驟可以使這塊好懂一些 建立SQL表 Room的SQL表有很多部分,...

鐵人賽 Mobile Development DAY 21

技術 Day 21:使用SQL保留資料

現在要讓資料可以長期保留在APP裡 簡介 在Android中,比較主要的保留資料方式就是SQL,但因為架構原因,跟真正的SQL使用有很大的差異在Android中...

鐵人賽 Mobile Development DAY 20

技術 Day 20:從網路獲取資料

這篇是這個專案不會用到的功能,但是也算是重要這篇主要就是說該怎麼做,不會示範專案操作如果需要詳細的教學,我覺得官方的寫得很不錯https://developer...

鐵人賽 Mobile Development DAY 19

技術 Day 19:增進App整體使用體驗

上篇提到雖然說現在軟體已經到了堪用的程度,但距離順暢使用還有很大距離 盤點改進 只有設定_isUpdate,沒有其他自動清除方式(像是跳轉頁面) TodoLi...

鐵人賽 Mobile Development DAY 18

技術 Day 18:將ViewModel與UI結合

這篇要在UI裡面接上viewmodel 在UI中添加viewmodel 先在App宣告,並將它分派給各個主要元件 fun App(modifier: Modif...

鐵人賽 Mobile Development DAY 17

技術 Day 17:架構適用於App的ViewModel

上回簡單說了如何使用,這次就要開始實操在真正的設計前,需要先考量需要的功能與資料,但大部分還是邊寫邊加 資料內容 在這個專案中,我們需要一個todoList,被...

鐵人賽 Mobile Development DAY 16

技術 Day 16:甚麼是ViewModel,如何分離UI與邏輯資料

上篇提到了無法在TodoDisplay展示正確的任務,因為目前的程式都是寫死的,現在要讓資料流通,才真的能作為一個應用使用 MVVM架構 說到Android力推...

鐵人賽 Mobile Development DAY 15

技術 Day 15:將導覽套用在應用上

前面已經說了很多navigation的使用方式了,所以是時候改App函數,讓應用可以在不同頁面間瀏覽 實作NavHost 先將之前寫好的頁面都放到導覽中 Nav...

鐵人賽 Mobile Development DAY 14

技術 Day 14:套用Scaffold,結合導覽功能

這個部分有兩篇,分別是使用Scaffold與將導覽功能融入 Scaffold 很多的應用都會有Top bar和Bottom bar以及floatingActio...

鐵人賽 Mobile Development DAY 13

技術 Day 13:靈活的切換頁面

之前設計了很多的頁面,但是我們還沒有辦法在他們之間切換,所以這一篇要來介紹navigator Navigator是什麼 這是導覽系統的一系列稱呼,它包含了很多的...

鐵人賽 Mobile Development DAY 12

技術 Day 12:主題與現代Material3,使應用繽紛多彩

因為上一篇的內容有點太多了,所以我想要稍微來一些簡單的內容 什麼是主題(Theme) 在正式開始介紹之前,我想要先推薦一個快速了解與查詢M3的網站:https:...

鐵人賽 Mobile Development DAY 11

技術 Day 11:配置應用介面

這裡就是第一部分的完結了,現在要透過將App的介面做出來來熟悉與複習雖然說我們還沒有學到如何切換頁面與跨頁面保留資料,但是這不妨礙我們先把畫面給做出來,之後再結...

鐵人賽 Mobile Development DAY 10

技術 Day 10:多語言設定與圖片資源

這是基本UI介面的最後一篇,所以講一些比較少用到的功能 多語言 或許你不需要多語言設計,但因為他和其他的資源都是一塊的,所以一起說開啟translation e...

鐵人賽 Mobile Development DAY 9

技術 Day 9:更靈活的container,簡化排版難度

上一篇的內容是進階的輸入設定,這一篇主要講的是自動container,也是最常用的功能之一 舊的container val objs: List<Obj&...

鐵人賽 Mobile Development DAY 8

技術 Day 8:直覺化的UI體驗,使用Ime與Keyboard功能

上一篇提到了更多輸入UI的功能,這篇會是更進階的功能以及一些其他的compose特性 更多Compose功能 這是一段範例程式碼,用到了FocusRequest...

鐵人賽 Mobile Development DAY 7

技術 Day 7:狀態儲存,能保留狀態的輸入框

前篇提到了輸入型的UI元件,但是發現無法正確的反饋結果與改變顯示,這時就需要remember與mutableState來接收並顯示輸入 @Composable...

鐵人賽 Mobile Development DAY 6

技術 Day 6:美化介面排版

上一篇提到了很多UI元件,但如果沒有正確規畫他們就會疊在一起,亂成一團,所以需要container來規劃好看的排版 了解並使用Container 上一回已經說到...

鐵人賽 生成式 AI DAY 5
我不想努力了,AI! 系列 第 5

技術 Day 5:大型馴獸失敗現場:原來我才是要被訓練的那個

其實 AI 有發現問題癥結點也是無法解決:「移除所有主題系統引用 - 不再使用 MaterialTheme.colorScheme」 但是他其實根本沒有真正移除...

鐵人賽 生成式 AI DAY 2
我不想努力了,AI! 系列 第 2

技術 Day 2:開箱我的「上古神獸」專案,看看這次的對手有多硬

好啦,先承認標題有點浮誇。 它其實也沒有到「上古神獸」的等級,畢竟跟那些還在維護銀行系統的 COBOL 程式碼比起來,我這個專案根本不夠看。它也沒有真的「很硬」...

鐵人賽 生成式 AI DAY 1
我不想努力了,AI! 系列 第 1

技術 Day 1:我那個放了三年的重構夢,AI 說它想試試

在每個開發者的心中,大概都有一個「如果我有時間…」的待辦清單。 對我而言,清單上塵封最久、也最讓我心癢的項目,無疑是想將手邊這個已經跑了四年的 Android...

鐵人賽 Mobile Development DAY 3

技術 從零開始學習 Jetpack Compose Day2 - Compose Hello World

今天會來建立一個基本的ComposeUI專案,並且介紹Android Studio中的功能。 建立專案 建立新專案,選擇Empty Activity 建立完成後...

鐵人賽 自我挑戰組 DAY 8
Practice again& again. 系列 第 8

技術 Android UI - Jetpack Compose (2023 import 版本)

開發 Android 畫面的兩種常用方法: 使用 XML Layout 檔案 Jetpack Compose UI:本篇介紹如下 build.gr...

鐵人賽 Mobile Development DAY 30

技術 Day 30 List 的 Item 參數也能有狀態?

前言 昨天使用 *toMutableStateList*() 讓 list 新增和移除可以讓畫面更新。 今天想要嘗試更改 list 的參數內容,讓內容也可以讓...

鐵人賽 Mobile Development DAY 29

技術 Day 29 把 data List 搬到 ViewModel

前言 今天要將 training 資料搬到 viewModel。 ViewModel ViewModel 能以比較長的生命週期持有 State,讓螢幕選轉等...

鐵人賽 Mobile Development DAY 28

技術 Day28 實作 DateTimePicker

前言 昨天完成 Training 頁面雛形,今天要來加一些更改數據的互動。 首先是日期調整這裡要用到 DatePickerDialog Date Picker...